/**
 * C++中的内存分配
 * char *p;中p为自动变量，其自身的空间由系统自动分配和释放
 * 但是用malloc分配的存储空间，不会被系统自动释放，㤇需要自己释放，使用free()函数。
 */
#include <iostream>
#include "string.h"

#define malloc_01 malloc_01
int malloc_01(){
    //定义指向字符的指针p
    char *p;
    //指针变量，转换为字符指针，10:分配的字符个数，sizeof:求每个字符占用的空间大小
    p = (char *)malloc(10 * sizeof(char));
    //将China存放到P所指向的空间
    strcpy(p,"China");
    //输出C
    printf("%c\n",*p);
    //输出China
    printf("%s\n",p);
    //释放P所指向的空间
    free(p);
    return 0;
}

